Optical flow (i.e., optic flow) is a concept from the realm of image/video processing and machine vision. Optical flow is often utilized to aid in motion estimation and digital video compression. Optical flow is often used in estimating a three-dimensional (3D) nature and structure of a scene, as well as the 3D motion of objects and the observer relative to the scene. While this is something that that the human vision system does easily, optical flow is the mechanism by which a machine can estimate relative motion of a scene. As used herein, a scene is a digital video (or series of images) that is the subject of an optical flow analysis.
For example, optical flow is used by robotics researchers in many areas such as: object detection and tracking, image dominant plane extraction, movement detection, robot navigation, image processing, motion detection, object segmentation, time-to-contact information, focus of expansion calculations, luminance, motion compensated encoding, and stereo disparity measurement, visual odometry. Optical flow information has been recognized as being useful for controlling micro air vehicles (e.g., drones) and self-driving transportation vehicles (e.g., cars).
Generally, optical flow is the pattern of apparent motion of objects, surfaces, and edges in a visual scene caused by the relative motion between an observer (i.e., an eye or a camera) and a scene.
Optical flow is typically accomplished at a pixel level of subsequently captured images. So, pixel-level optical flow estimation calculates the motion between two subsequent images. Analysis of subsequent images searching for local displacements of pixels in the images allows quantitative measurement of the optical flow of the pixels.
Stated another way, optical flow can generally refer to a change in x-axis position and a change in y-axis position for each point within a pair of two dimensional images. An optical flow vector can describe such change in x and change in y in vector form and an optical flow field can aggregate the optical flow vectors for each point in the images. Such optical flow fields can be computed over a series of sequential images.